﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.EstabelecimentoWS;
using PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.ClienteWs;
using System.ComponentModel;

namespace PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.GUI
{
    public partial class PesquisarEstabelecimento : System.Web.UI.Page
    {
        PubClub_Estabelecimento_WS webServiceES = new PubClub_Estabelecimento_WS();
        ObjetoCliente cliente = new ObjetoCliente();
        PubClub_Cliente_WS webServiceCliente = new PubClub_Cliente_WS();
        TableHeaderRow linhaCabecalho = new TableHeaderRow();
        TableHeaderCell celulaCabecalhoNomeDoEstabelecimento = new TableHeaderCell();
        Label labelCabecalhoNomeDoEstabelecimento = new Label();



        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["Cliente"] == null)
            {
                Response.Redirect("Login.aspx?Logout=2");
            }
            else
            {
                cliente = webServiceCliente.GetCliente(Convert.ToInt32(Session["Cliente"]));
            }

            labelCabecalhoNomeDoEstabelecimento.Text = "Nome do estabelecimento";
            celulaCabecalhoNomeDoEstabelecimento.Controls.Add(labelCabecalhoNomeDoEstabelecimento);
            linhaCabecalho.Cells.Add(celulaCabecalhoNomeDoEstabelecimento);
            tabelaES.Rows.Add(linhaCabecalho);
            tabelaES.Visible = false;

        }
        protected void BtBuscar_Click(object sender, EventArgs e)
        {

            BindingList<ObjetoEstabelecimento> listaEstabelecimento = new BindingList<ObjetoEstabelecimento>(webServiceES.SearchEstabelecimento((textBoxBuscar.Text.Trim())));

            if (textBoxBuscar.Text.Trim().Equals(""))
            {
                lbAviso.Text = "Informe o nome do estabelecimento.";
                lbAviso.ForeColor = System.Drawing.Color.Red;
                lbAviso.Visible = true;
                lbAviso.Focus();
                return;

            }
            else

                if (listaEstabelecimento.Count == 0)
                {
                    lbAviso.Text = "Nenhum estabelecimento encontrado.";
                    lbAviso.ForeColor = System.Drawing.Color.Red;
                    lbAviso.Visible = true;
                    return;
                }
                else
                {
                    int i = 0;
                    foreach (var item in listaEstabelecimento)
                    {
                        TableRow linhaDados = new TableRow();
                        TableCell celulaDadosNomeDoEstabelecimento = new TableCell();
                        HyperLink hyperlinkNomeDoEstabelecimento = new HyperLink();

                        if (i % 2 != 0)
                        {
                            linhaDados.CssClass = "odd";
                        }

                        i++;

                        hyperlinkNomeDoEstabelecimento.Text = item.NomeFantasia;
                        hyperlinkNomeDoEstabelecimento.NavigateUrl = "~/GUI/ClienteVerPerfilEstabelecimento.aspx?EstabelecimentoId=" + item.EstabelecimentoId; ;
                        celulaDadosNomeDoEstabelecimento.Controls.Add(hyperlinkNomeDoEstabelecimento);
                        linhaDados.Cells.Add(celulaDadosNomeDoEstabelecimento);

                        tabelaES.Rows.Add(linhaDados);
                    }

                    tabelaES.Visible = true;
                    LabelCount.Text = "Total encontrado: " + listaEstabelecimento.Count();
                    LabelCount.Visible = true;
                }

        }

        protected void BtListar_Click(object sender, EventArgs e)
        {
            ObjetoEstabelecimento[] listaEstabelecimento;
            listaEstabelecimento = webServiceES.ListEstabelecimento();

            int i = 0;

            foreach (var item in listaEstabelecimento)
            {

                TableRow linhaDados = new TableRow();
                TableCell celulaDadosNomeDoEstabelecimento = new TableCell();
                HyperLink hyperlinkNomeDoEstabelecimento = new HyperLink();

                if (i % 2 != 0)
                {
                    linhaDados.CssClass = "odd";
                }

                i++;

                hyperlinkNomeDoEstabelecimento.Text = item.NomeFantasia;
                hyperlinkNomeDoEstabelecimento.NavigateUrl = "~/GUI/ClienteVerPerfilEstabelecimento.aspx?EstabelecimentoId=" + item.EstabelecimentoId; ;
                celulaDadosNomeDoEstabelecimento.Controls.Add(hyperlinkNomeDoEstabelecimento);
                linhaDados.Cells.Add(celulaDadosNomeDoEstabelecimento);

                tabelaES.Rows.Add(linhaDados);
            }

            tabelaES.Visible = true;
            LabelCount.Text = "Total encontrado: " + listaEstabelecimento.Count();
            LabelCount.Visible = true;
        }
    }
}